The present invention relates in general to classification of objects under inspection, and more particularly to a system and method for cost-effective classification of an object, such as solder joints, in one of a plurality of different classes.
A key challenge facing electronics manufacturers is quality analysis of their products. That is, electronics manufacturers typically want to ensure that their products are of high quality both structurally and functionally. Accordingly, certain techniques for testing the quality of electronic products have been developed. Considering the trend toward smaller components, increased manufacturing complexity, new packaging technologies, and higher functionality boards, new challenges continue to arise in quality testing of electronic products. Additionally, electronics manufacturers typically face extreme cost and time pressures such that it becomes important to implement a quality testing technique that does not substantially increase the cost and/or time associated with the manufacturing process. Preferably, the quality testing technique should aid the manufacturer in reducing the cost and/or time associated with the manufacturing process, e.g., by detecting defects in products as early as possible in the manufacturing process to enable timely correction of such defects and/or to avoid wasted time and expense in further manufacturing of a defected part.
One area in which quality analysis is often desired in electronic products is analysis of solder joints included therein. It is important for solder joints to be of an acceptable quality in electronic products to ensure that the soldered components are structurally and functionally sound. That is, it is important for a solder joint to be of good quality to ensure that the soldered component is securely coupled to the board in a structurally sound manner, and it is important for a solder joint to be of good quality to ensure that the soldered component is electrically coupled to the board in a manner that enables communication of electrical signals to/from the component through such solder joint so that the product can function as desired. As the complexity of electronic products increases, the number of solder joints present in such products tends to increase. For example, many high-complexity products have as many as 20,000 or 30,000 solder joints. A defect with any one of the solder joints in a product may result in the product being structurally and/or functionally unacceptable.
Thus, solder joints impact the structural and functional soundness of electronic products, and it is therefore typically desirable to test the quality of such solder joints to ensure that the products are of desired quality. Of course, it is also desirable to have a quality analysis technique that is reliable and does not substantially increase the cost and/or time involved in the manufacturing process. Automated image processing techniques have been used for analyzing the quality of solder joints. For example, automated optical inspection (AOI) and automated X-ray inspection (AXI) techniques have been developed and implemented for analyzing the quality of solder joints in electronic products. An example of an image processing solution for testing the quality of solder joints is provided in the SJ-50 automated optical inspection system commercially available from Agilent Technologies.
An example of a laminography system that may be utilized for electronics inspection is described further in U.S. Pat. No. 6,201,850 entitled xe2x80x9cENHANCED THICKNESS CALIBRATION AND SHADING CORRECTION FOR AUTOMATIC X-RAY INSPECTIONxe2x80x9d, which is assigned to the assignee of this application and the disclosure of which is hereby incorporated herein by reference. Further examples of laminography systems that may be utilized for electronics inspection are described in the following patents: 1) U.S. Pat. No. 4,926,452 entitled xe2x80x9cAUTOMATED LAMINOGRAPHY SYSTEM FOR INSPECTION of ELECTRONICSxe2x80x9d, issued to Baker et al.; 2) U.S. Pat. No. 5,097,492 entitled xe2x80x9cAUTOMATED LAMINOGRAPHY SYSTEM FOR INSPECTION OF ELECTRONICSxe2x80x9d, issued to Baker et al.; 3) U.S. Pat. No. 5,081,656 entitled xe2x80x9cAUTOMATED LAMINOGRAPHY SYSTEM FOR INSPECTION OF ELECTRONICSxe2x80x9d, issued to Baker et al.; 4) U.S. Pat. No. 5,291,535 entitled xe2x80x9cMETHOD AND APPARATUS FOR DETECTING EXCESS/INSUFFICIENT SOLDER DEFECTSxe2x80x9d, issued to Baker et al.; 5) U.S. Pat. No. 5,621,811 entitled xe2x80x9cLEARNING METHOD AND APPARATUS FOR DETECTING AND CONTROLLING SOLDER DEFECTSxe2x80x9d, issued to Roder et al; 6) U.S. Pat. No. 5,561,696 xe2x80x9cMETHOD and APPARATUS FOR INSPECTING ELECTRICAL CONNECTIONSxe2x80x9d, issued to Adams et al.; 7) U.S. Pat. No. 5,199,054 entitled xe2x80x9cMETHOD AND APPARATUS FOR HIGH RESOLUTION INSPECTION OF ELECTRONIC ITEMSxe2x80x9d, issued to Adams et al.; 8) U.S. Pat. No. 5,259,012 entitled xe2x80x9cLAMINOGRAPHY SYSTEM AND METHOD WITH ELECTROMAGNETICALLY DIRECTED MULTIPATH RADIATION SOURCExe2x80x9d, issued to Baker et al.; 9) U.S. Pat. No. 5,583,904 entitled xe2x80x9cCONTINUOUS LINEAR SCAN LAMINOGRAPHY SYSTEM AND METHODxe2x80x9d, issued to Adams; and 10) U.S. Pat. No. 5,687,209 entitled xe2x80x9cAUTOMATIC WARP COMPENSATION FOR LAMINOGRAPHIC CIRCUIT BOARD INSPECTIONxe2x80x9d, issued to Adams. The entirety of each of the above referenced patents is hereby incorporated herein by reference.
Another imaging technique used in inspection systems is known as tomosynthesis. Tomosynthesis is an approximation to laminography in which multiple projections (or views) are acquired and combined. As the number of views becomes large, the resulting combined image generally becomes identical to that obtained using laminography with the same geometry. Tomosynthesis may be performed as an analog method, for example, by superimposing sheets of exposed film. Tomosynthesis may, instead, be performed as a digital method. In digital tomosynthesis, the individual views are divided into pixels, and digitized and combined via computer software. Three-dimensional computed tomography, such as xe2x80x9ccone-beam tomographyxe2x80x9d for example, is another well-known image processing technique that may be used in inspection of an object. Example tomosynthesis (or tomography) systems that have been proposed for use in industrial inspection systems include, as examples, those disclosed in U.S. Pat. No. 6,002,739 entitled xe2x80x9cCOMPUTED TOMOGRAPHY WITH ITERATIVE RECONSTRUCTION OF THIN CROSS-SECTIONAL PLANESxe2x80x9d and U.S. Patent No. 6,178,223 entitled xe2x80x9cIMAGE RECONSTRUCTION METHOD AND APPARATUS,xe2x80x9d the disclosures of which are hereby incorporated herein by reference in their entirety.
In addition to image processing techniques, various other tests of an electronic product, such as in-circuit tests (ICTs) and function tests (FTs) may be performed for testing the functionality of the electronic product. A common test strategy for high-complexity printed circuit boards (PCBs) is to use a combination of AXI, ICT, and FT in which AXI tests the structural integrity of the solder joints, ICT tests the electrical integrity of the components and PCB, and FT verifies the PCB""s performance characteristics. On complex boards, typically about 80 to 90 percent of all defects found are structural or process defects. AXI testing generally provides about 95 percent coverage of the structural defects. Therefore, it is generally advantageous to use AXI before ICT and FT testing of an electronic product as filtering out of those defective products detected with AXI significantly reduces the number of defects arising during ICT and FT. In addition, AXI typically pinpoints the exact location of the defects (e.g., identifies the specific solder joint that is defective), thus enabling the defect to be repaired in a timely and cost-effective manner before undergoing ICT and FT testing.
Generally, an automated inspection system classifies objects (e.g., solder joints) based on measurements taken of the object being inspected. For example, in a manufacturing inspection system, a customary goal is to determine whether a given object of manufacture is either xe2x80x9cgoodxe2x80x9d or xe2x80x9cbadxe2x80x9d (i.e., belongs to a class of good objects or a class of bad objects). Unfortunately, due to statistical variations in measured characteristics of the inspected objects and/or statistical errors in the measurements themselves, the determination of class membership usually is not deterministic but instead is made according to probability theory. In other words, the determination establishes a likelihood or probability that a given object is a member of a particular class or category. Moreover, in many practical cases no single measurement can be used to reliably perform the categorization. Instead, multiple measurements are often required. The measurements and/or combinations of the measurements can be thought of as xe2x80x9cfeaturesxe2x80x9d (or xe2x80x9cparametersxe2x80x9d) of the object. For example, various features of a solder joint may be measured by an inspection system, such as length, width, thickness, curvature, relative opacity, and similar values of the solder joint. The object features are compared to sets of representative features for each of the possible groups (or classes) and a determination is made based on an aggregate of the comparison results. Thus, the classification problem is more correctly termed an estimation problem in which the probability of membership of the object in a particular group or class is estimated based on the features of the object. The branch of statistics that deals with the problem of classifying or estimating class membership based on features derived from multiple measurements is known as multivariate analysis or multivariate estimation.
Image processing of solder joints may enable a variety of parameters of a solder joint to be measured. For instance, a solder joint may be imaged, and such image may be processed to determine such parameters as length, width, thickness, curvature, relative opacity, and similar values of the solder joint. As an example, the thickness of solder material (which is typically a combination of lead and tin) may be inspected by an automated inspection system through analysis of X-ray image(s) of the solder material. In an X-ray image of solder material, there is a relationship between the intensities comprising the X-ray image and the thicknesses of the solder material forming the X-ray image. Typically, the image intensity increases from values corresponding to lighter shades of gray (white) to values corresponding to darker shades of gray (black) as the thickness of the solder material increases. That is, the image of a thin section of solder will have a gray level that is less than the gray level of the image of a thicker section of solder. The image of the thin section will appear to be a lighter shade of gray than the image of the thicker section. This convention is typically used in electronic image representation of X-ray images, however, the opposite convention may also be used, i.e., where the image of a thin section of solder has a gray level that is greater than the gray level of the image of a thicker section of solder. The latter convention has traditionally been followed in film radiography where the X-ray images are recorded on X-ray film.
The various parameters (or xe2x80x9cfeaturesxe2x80x9d) determined for a solder joint may then be evaluated to determine whether the solder joint is acceptable. It should be understood that there may exist a range of parametric values that define a solder joint of acceptable quality. Accordingly, an automated technique may be implemented for evaluating the determined parameters of a solder joint to determine whether the solder joint is of acceptable quality.
Traditional image processing techniques rely on users (technicians) to define the parameter boundaries for acceptable and unacceptable solder joints. Such boundaries are typically defined in a rigid manner in which a single, constant upper and lower boundary value may be defined for each parameter (e.g., length, thickness, etc.). For instance, a user typically defines upper and lower boundary values for each parameter, and a solder joint is evaluated to determine whether each of its parameters falls within its respective boundary. If one parameter is outside of its defined boundary, then the solder joint is detected as being unacceptable irrespective of the value of the remaining parameters.
That is, in traditional image processing techniques a user defines a given boundary for a parameter that is used in evaluating the acceptability of the solder joint irrespective of the other parameter values. In this manner, assuming that each parameter is assigned an axis in xe2x80x9cNxe2x80x9d dimension space (wherein xe2x80x9cNxe2x80x9d corresponds to the number of parameters being evaluated), a user essentially defines a rectangular-shaped region of acceptable solder joints by assigning a constant upper and lower boundary to each parameter (i.e., an upper and lower boundary for a parameter that each remain constant irrespective of the values of the other parameters). For instance, assuming that 3 parameter values are analyzed for a solder joint (although typically many more parameters are included in the analysis), a three-dimensional (xe2x80x9c3Dxe2x80x9d) graph may be formed in which each axis of the graph corresponds to one of the 3 parameters. A technician may assign boundary values (e.g., upper and lower boundary values) to each of the parameters, thus essentially defining a rectangular-shaped region (i.e., a box) in the 3D space of acceptable solder joints. That is, the boundary values assigned to each parameter remain constant irrespective of the values of the other parameters, thus resulting in a rectangular-shaped region (or box) in which acceptable parameter values reside.
However, traditional automated solder joint quality analysis techniques have several disadvantages. First, such techniques are often inaccurate in classifying a solder joint. Second, it is typically undesirably time consuming to define a boundary region that defines acceptable solder joints. Third, because the techniques depend heavily on individual technicians for defining the test limits (boundary regions) to be used for a given analysis, the results are typically not uniform or repeatable from test to test. Finally, the construction of such automated testing techniques is further complicated by consideration of risk management. For instance, the cost of a false accept and of a false reject of a solder joint are not necessarily the same for a given product, and traditional classification techniques do not readily allow for such risk management (or cost considerations) to be employed in the quality analysis process.
More recently, an automated inspection technique using image processing as described hereafter has been implemented in such systems as Agilent""s SJ-50 joint inspection system. According to this more recent inspection technique, an inspection system uses training data to train the inspection system to correctly classify an object under inspection. For instance, a feature vector f for an object under inspection may be input to the inspection system, and the inspection system compares that feature vector f to its stored training data to determine the best classification of the object under inspection. This inspection technique improves on the traditional inspection techniques in that it does not require a user to select thresholds (or boundaries) for each parameter. However, this inspection technique still has several disadvantages. First the accuracy of the k nearest neighbors method is sensitive to measurement noise in the feature vector f . Additionally, the accuracy of the k nearest neighbors method is sensitive to elements of f that have low power for distinguishing between xe2x80x9cgoodxe2x80x9d and xe2x80x9cbadxe2x80x9d joints compared to elements of f. Further, this inspection technique does not allow for consideration of risk management. For instance, as described above, the cost of a false accept and of a false reject of a solder joint are not necessarily the same for a given product. This inspection technique does not take into account the relative cost of deciding that a good joint is bad (xe2x80x9cfalse failxe2x80x9d) versus deciding that a bad joint is good (xe2x80x9cfalse acceptxe2x80x9d).
Automated inspection techniques of the prior art have failed to provide a mechanism to allow a user to specify risk management variables and have failed to take such risk management concerns into account when classifying an object under inspection. That is, the cost associated with incorrectly classifying an object is not taken into consideration by automated inspection systems of the prior art when classifying an object under inspection.
The present invention is directed to a system and method which enable cost-effective classification of objects, such as solder joints, that are under inspection. More specifically, embodiments of the present invention provide a classifier that is operable to receive a feature vector f (which may be formed from measurements of various features of an object) of an object under inspection and compute a probability that such object is properly assigned membership in a first of a plurality of different classes. For instance, a xe2x80x9cgoodxe2x80x9d class may be available for objects that meet a pre-determined criteria, and a xe2x80x9cbadxe2x80x9d class may be available for objects that do not meet the pre-determined criteria. The classifier may analyze the feature vector f of an object to compute the probability that such object is properly classified as xe2x80x9cgood.xe2x80x9d Further, embodiments of the present invention enable the classifier to be tuned as desired for a given inspection session in order to take into consideration risk management concerns. For instance, as described above, for a given inspection session (e.g., the inspection of a particular product) a cost may exist for incorrectly classifying a bad object as xe2x80x9cgood.xe2x80x9d Embodiments of the present invention enable a cost variable to be input to the classifier, and the classifier uses such cost variable to determine whether, given the computed probability that an object is correctly classified as xe2x80x9cgood,xe2x80x9d it is cost-effective to classify the object as xe2x80x9cgood.xe2x80x9d Accordingly, if risk management concerns in a first inspection process for inspecting a given object differ from risk management concerns of a second inspection process for inspecting the given object, a common classifier for the given object may be used in both inspection processes but a different cost variable may be utilized for each process to tune the classifier for cost-effective classification in each process.
In accordance with one embodiment of the present invention, a method is provided for classifying an object as being a member of one of a plurality of classes. The method comprises computing a probability that an object under inspection is properly assigned membership in a first of a plurality of classes, and using a cost variable to determine whether it is cost-effective to assign the object to the first class given the computed probability. For example, the plurality of classes may comprise a xe2x80x9cgoodxe2x80x9d class for objects that meet a predefined criteria and a xe2x80x9cbadxe2x80x9d class for objects that do not meet the pre-defined criteria. The cost variable may, for example, comprise a variable K=CGB/CBG, wherein CGB is a cost associated with incorrectly classifying a good object as bad and CBG is a cost associated with incorrectly classifying a bad object as good. An example of an object that may be under inspection is a solder joint.
In accordance with another embodiment of the present invention, a method for classifying an object under inspection is provided. The method comprises inputting a feature vector for an object under inspection to a classifier for the object, and inputting a cost variable to the classifier that specifies a cost associated with incorrectly classifying the object under inspection in a first of a plurality of classes. The classifier uses the feature vector to compute a probability that the object under inspection is properly assigned membership in the first of a plurality of classes. And, the classifier uses the cost variable to determine whether it is cost-effective to assign the object to the first of the plurality of classes given the computed probability.
In accordance with another embodiment of the present invention, a method for inspecting an object is provided that comprises constructing a classifier for a first type of object. The classifier is operable to compute for an object of such first type that is under inspection a probability that such object under inspection is properly assigned membership in a first of a plurality of different classes. The method further comprises inputting a cost variable to the classifier to tune the classifier for cost-effective classification of the object under inspection.
In accordance with still another embodiment of the present invention, a system for classifying an object under inspection is provided. The system comprises at least one processor, and computer-executable code stored to a computer-readable medium, wherein such computer-executable code is executable by the at least one processor. The computer-executable code is executable to receive a feature vector for an object under inspection, and receive a cost variable that specifies a cost associated with incorrectly classifying the object under inspection. The computer-executable code is also executable to use the feature vector to compute, for each of a plurality of classes, a probability that the object under inspection is properly assigned membership in the respective class, and use the cost variable to determine the most cost-effective one of the plurality of classes to which to assign the object given the computed probability of each of the plurality of classes. In certain implementations, the computer-executable code executable to use the cost variable to determine the most cost-effective one of the plurality of classes comprises code executable to use the cost variable to compute, for each of the plurality of different classes, a cost associated with assigning the object under inspection to the respective class based at least in part on the computed probability that such object is properly assigned membership in the respective class, and code executable to determine the least costly one of the plurality of different classes to which to assign the object under inspection.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. The novel features which are believed to be characteristic of the invention, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention.